// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:19

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   qy.java

package com.zelix;

import java.util.*;

// Referenced classes of package com.zelix:
//            px, ry, hs

public class qy
{

    Hashtable a;
    private int b;
    private ry c;

    public qy()
    {
        this(75, 5);
    }

    public qy(int i)
    {
        this(i, 5);
    }

    public qy(int i, int j)
    {
        b = 5;
        c = null;
        b = j;
        a = new Hashtable(px.a(i));
    }

    public void a()
    {
        Enumeration enumeration;
        int i;
        i = hs.c;
        enumeration = a.elements();
        if(i == 0) goto _L2; else goto _L1
_L1:
        ((Vector)enumeration.nextElement()).removeAllElements();
_L2:
        if(!enumeration.hasMoreElements())
        {
            a.clear();
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    public Object clone()
    {
        qy qy1;
        Enumeration enumeration;
        int j;
        j = hs.c;
        int i = a.size();
        qy1 = new qy(i * 2 + 1);
        enumeration = a.keys();
        if(j == 0) goto _L2; else goto _L1
_L1:
        Object obj = enumeration.nextElement();
        Vector vector = (Vector)a.get(obj);
        qy1.a(obj, (Vector)vector.clone());
_L2:
        if(!enumeration.hasMoreElements())
            return qy1;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public boolean a(Object obj, Object obj1)
    {
        Vector vector = (Vector)a.get(obj);
        if(vector == null)
            return false;
        else
            return vector.contains(obj1);
    }

    public boolean a(Object obj)
    {
        return ((ry)b()).a(obj);
    }

    public boolean b(Object obj)
    {
        return a.containsKey(obj);
    }

    public Enumeration b()
    {
        synchronized(a)
        {
label0:
            {
                if(c == null)
                {
                    c = new ry(this);
                    if(hs.c == 0)
                        break label0;
                }
                c.a();
            }
        }
        return c;
    }

    public Enumeration c(Object obj)
    {
        Vector vector;
        if((vector = (Vector)a.get(obj)) == null)
            return null;
        else
            return vector.elements();
    }

    public int c()
    {
        int i;
        Enumeration enumeration;
        int j;
        j = hs.c;
        i = 0;
        enumeration = a.elements();
        if(j == 0) goto _L2; else goto _L1
_L1:
        i += ((Vector)enumeration.nextElement()).size();
_L2:
        if(!enumeration.hasMoreElements())
            return i;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public Vector d(Object obj)
    {
        return (Vector)a.get(obj);
    }

    public synchronized Set d()
    {
        return a.keySet();
    }

    public synchronized Enumeration e()
    {
        return a.keys();
    }

    public int f()
    {
        return a.size();
    }

    public void b(Object obj, Object obj1)
    {
label0:
        {
            c = null;
            Vector vector = (Vector)a.get(obj);
            if(vector == null)
            {
                vector = new Vector(b);
                vector.addElement(obj1);
                a.put(obj, vector);
                if(hs.c == 0)
                    break label0;
            }
            vector.addElement(obj1);
        }
    }

    public void a(qy qy1)
    {
        Iterator iterator;
        int i;
        i = hs.c;
        c = null;
        iterator = qy1.a.entrySet().iterator();
        if(i == 0) goto _L2; else goto _L1
_L1:
        java.util.Map.Entry entry = (java.util.Map.Entry)iterator.next();
        Object obj = entry.getKey();
        Vector vector = (Vector)entry.getValue();
        Vector vector1 = (Vector)a.get(obj);
        if(vector1 == null)
        {
            a.put(obj, (Vector)vector.clone());
            if(i == 0)
                continue; /* Loop/switch isn't completed */
        }
        vector1.addAll(vector);
_L2:
        if(iterator.hasNext()) goto _L1; else goto _L3
_L3:
    }

    public Vector a(Object obj, Vector vector)
    {
        c = null;
        return (Vector)a.put(obj, vector);
    }

    public Vector e(Object obj)
    {
        c = null;
        return (Vector)a.remove(obj);
    }

    public boolean c(Object obj, Object obj1)
    {
        c = null;
        Vector vector = (Vector)a.get(obj);
        if(vector == null)
            return false;
        boolean flag = vector.removeAll(Collections.singleton(obj1));
        if(vector.size() == 0)
            a.remove(obj);
        return flag;
    }

    public void g()
    {
        Enumeration enumeration;
        int i;
        i = hs.c;
        enumeration = a.elements();
        if(i == 0) goto _L2; else goto _L1
_L1:
        ((Vector)enumeration.nextElement()).trimToSize();
_L2:
        if(!enumeration.hasMoreElements())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }
}